From 503d988c1b18fd1f6d4c44597c11316b0bfaf010 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Sun, 8 Dec 2019 05:32:35 +0100 Subject: [PATCH] label: Compute label baselines correctly When we were switching smallest and widest, we were not switching the baselines. --- gtk/gtklabel.c | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c index def048a7db..ad79305be6 100644 --- a/gtk/gtklabel.c +++ b/gtk/gtklabel.c @@ -3630,14 +3630,24 @@ gtk_label_get_preferred_size (GtkWidget *widget, } else /* GTK_ORIENTATION_VERTICAL */ { - *minimum_size = MIN (smallest_rect.height, widest_rect.height); - *natural_size = MAX (smallest_rect.height, widest_rect.height); - - if (minimum_baseline) - *minimum_baseline = smallest_baseline; - - if (natural_baseline) - *natural_baseline = widest_baseline; + if (smallest_rect.height < widest_rect.height) + { + *minimum_size = smallest_rect.height; + *natural_size = widest_rect.height; + if (minimum_baseline) + *minimum_baseline = smallest_baseline; + if (natural_baseline) + *natural_baseline = widest_baseline; + } + else + { + *minimum_size = widest_rect.height; + *natural_size = smallest_rect.height; + if (minimum_baseline) + *minimum_baseline = widest_baseline; + if (natural_baseline) + *natural_baseline = smallest_baseline; + } } } -- 2.30.2